#include <iostream>
#include <vector>
using namespace std;

bool check(const vector<vector<double> >& YeLu,int a[],int len,int l,int r){
	for(int i=l+1; i<r; i++)
		if( YeLu[l][i]>=YeLu[l][r] ) return false;
	return true;
}
int main(){
	int m;
	cin >> m;
	int a[m];
	for(int i=0; i<m; i++) cin >> a[i];
	vector<vector<double> > YeLu;
	for(int i=0; i<m; i++){
		YeLu.push_back(vector<double>(m));
		for(int j=i; j<m; j++){
			YeLu[i][j] = (a[i]-a[j])*1.0/(i-j);
		} 
	}
	int max[m];
	for(int i=0; i<m; i++ ) max[i] = 0;
	for(int i=0; i<m; i++){
		for(int j=0; j<m; j++){
			if(i<j && check(YeLu,a,m,i,j) ) max[i]++;
			if(i>j && check(YeLu,a,m,j,i) ) max[i]++;
		}
	}
	int MAX = 0;
	for(int i=0; i<m; i++ ) if( max[i]>MAX ) MAX = max[i];
	cout << MAX;
	return 0;
}
